package com.ynet.middleground.contract.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @ClassName SignWithoutAuthReq
 * @Description e签宝-平台用户无认证PDF文件签署请求类
 * @Author liwq
 * @Date 2020/12/15 13:46
 * @Version 1.0
 */
@Data
@EqualsAndHashCode
@ApiModel(value = "e签宝-平台用户无认证PDF文件签署请求类", description = "e签宝-平台用户无认证PDF文件签署请求类")
public class SignWithoutAuthReq extends EnterpriseBaseReqObj {

    private static final long serialVersionUID = 1528617508668054993L;

    @ApiModelProperty(value = "签署者账号标识", notes = "签署者账号标识", dataType = "String", required = true)
    @NotBlank(message = "签署者账号标识不能为空")
    private String accountId;

    @ApiModelProperty(value = "印章图片id \n注意：印章数据要和账户信息对应，否则会出现签署的印章和背后的数字证书不一致的情况，从而造成签署纠纷",
        notes = "印章图片id \n注意：印章数据要和账户信息对应，否则会出现签署的印章和背后的数字证书不一致的情况，从而造成签署纠纷", dataType = "Integer", required = true)
    @NotNull(message = "印章图片 id 不能为空")
    private Integer sealId;

    @ApiModelProperty(value = "关联合约 id，如果是通过中台生成的合约该项必填", notes = "关联合约 id，如果是通过中台生成的合约该项必填", dataType = "Integer")
    private Integer contractId;

    @ApiModelProperty(value = "场景描述", notes = "场景描述", dataType = "String")
    private String sceneDesc;

    @ApiModelProperty(value = "签署信息", notes = "签署信息", required = true)
    @NotNull(message = "签署信息不能为空")
    private SigningWithoutAuthParamBean signInfos;

}
